11

在实际开发中可能会遇到需要获取对象的所有属性,这时你可能会自己来遍历一遍获取,其实原生js已经为我们提供了一个方法,他就是Object.keys(),它返回一个数组,就可以结合forEach方法遍历对象。

1.对象

// 1.对象
var a = {
    a : 123,
    b : 'asd',
    c : function() {
        console.log( 'haha' );
    }
};
console.log( Object.keys( a ) ); // [ 'a', 'b', 'c' ]

2.数组

// 2.数组
var b = [ 123, 21, 31 ];
console.log( Object.keys( b ) ); // [ '0', '1', '2' ]

3.构造函数

// 3.构造函数
function c() {
    this.aa = 123;
    this.bb = 'asdas';
    this.cc = function() {

    }
}
console.log( Object.keys( c ) ); // []

4.实例化对象

// 4.实例化对象
var d = new c();
console.log( Object.keys( d ) ); // [ 'aa', 'bb', 'cc' ]

5.字符串

// 5.字符串
var e = 'sdf123';
console.log( Object.keys( e ) ); // [ '0', '1', '2', '3', '4', '5' ]

陈帅
564 声望15 粉丝